1. Field
This disclosure generally relates to video delivery. More particular, the disclosure relates to video analytics of video delivery.
2. General Background
Accurately measuring video consumption is an integral part of the online video business. For example, measuring video consumption allows publishers to fine tune their content and optimize the display of advertisements. Online video consumption reports help publishers understand what users are interested in viewing at any given time depending on their geographic location. This information is utilized to help determine the ideal points in the video content to insert advertisements and also which advertisements viewers prefer and the ones they avoid. In particular, many videos have various drop-off points at which users terminate a video. For example, a popular video may have a common drop-off point of the credits at the end of the video since many viewers will watch the whole video, but may choose to drop off when the credits are shown. As another example, a video may have a common drop-off point of particular type of scene such as the scene after an action portion of the video at which point some users may terminate the video.
Measuring when a user starts playing a video may be accomplished by providing a notification to an analytics server at the beginning of a video. However, measuring when the user stops playing the video is difficult. This difficulty arises from users typically closing a browser tab to stop watching the video. Such an abrupt termination results in no function call being made to the analytics server because the player task that would have sent the notification to the analytics server has been terminated. Since the video player itself has to be modular, self-contained, and easily hosted on different websites, there is no practical way to enforce any webpage level mechanisms that would notify the server of the termination of the video.
Current approaches have attempted to place code in a video player that communicates with the analytics server frequently over predetermined regular fixed time intervals, e.g., two second time intervals, to indicate that a user is still watching a video. To obtain an acceptable level of accuracy, such communications have to occur every few seconds. However, such approaches are too resource intensive as millions of people may be watching a video at the same time. As a result, the analytics server may receive millions of responses every few seconds. The operating and maintenance costs of such configurations is high given the load placed on the analytics server under such conditions. Further, content providers that provide analytics solutions that can handle such loads typically have to allocate large amounts of resources and charge customers high costs. Accordingly, considering the large number of views that videos published over the internet amass, such approaches generate an unfeasible amount of network calls to the centralizing server, which incur high costs for the hosts. Given these conditions, notifications are typically sent at regular intervals proportional to the video length, which results in an inaccurate record that is not very useful for the publishers. Finer reports can be provided on demand, but the high logistical and technological costs are reflected upon the customer.